package com.muyu;

import com.google.zxing.*;
import com.muyu.util.QRCodeUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

import java.io.IOException;

/**
 * @ClassName: QRCodeGenerator
 * @Author: Zirun.Xin
 * @Date: 2025/1/9 10:40
 * @Version: 1.0
 * @Description: 二维码生成器
 */
@Slf4j
@RequiredArgsConstructor
public class QRCodeGenerator {

    /**
     * 二维码存储路径
     */
    private static final String QR_CODE_IMAGE_PATH = "./qrcode.png";

    /**
     * 二维码内容
     */
    private static final String QR_CODE_CONTENT_TEXT = "店门已开，欢迎光临！";

    /**
     * 二维码宽度
     */
    private static final int QR_CODE_WIDTH_VALUE = 350;

    /**
     * 二维码高度
     */
    private static final int QR_CODE_HEIGHT_VALUE = 350;


    public static void main(String[] args) {
        try {
            QRCodeUtils.generateQRCodeImage(QR_CODE_CONTENT_TEXT, QR_CODE_WIDTH_VALUE,
                    QR_CODE_HEIGHT_VALUE, QR_CODE_IMAGE_PATH);
            log.info("二维码已生成！");

            QRCodeUtils.decodeQRCode(QR_CODE_IMAGE_PATH);
        } catch (WriterException | IOException e) {
            log.error("生成二维码时出错：{}", e.getMessage());
            // 这里抛出项目中定义好的自定义异常，返回给前端友好的提示
        }
    }
}
